1. Field of the Invention
The present invention relates to a method of generating and allocating modulation codes of source codes to be recorded on a recording medium, and more particularly, to a method of generating codewords with a restricted run length and allocating the generated codewords to form a code stream so that a DC control characteristic of the code stream is maintained.
2. Description of the Related Art
In a Run Length Limited (RLL) code represented by (d, k, m, n), the performance of a code is evaluated mainly based on a recording density and a capability to suppress a DC component of the code. Here, “m” denotes the number of data bits (the number of so-called source data bits, which is also referred to as the number of information word bits), “n” denotes the number of codeword bits after modulation (the number of so-called channel bits) of the source data bits, “d” denotes the minimum number of a series of ‘0s’ that can exist between ‘1’ and ‘1’ in a codeword, and “k” denotes the maximum number of a series of ‘0s’ that can exist between ‘1’ and ‘1’ in a codeword. An interval between the codeword bits in a codeword is represented by T.
A modulation method, to improve a recording density, is used to reduce the number of the codeword bits “n” while regarding “d” and “m” as given conditions. In the RLL code, however, “d”, which is the minimum number of a series of ‘0s’ that can exist between ‘1’ and ‘1’ in a codeword, and “k”, which is the maximum number of a series of ‘0s’ that can exist between ‘1’ and ‘1’ in a codeword, should be satisfied. If, with this (d, k) condition satisfied, the number of data bits is “m”, the number of codewords satisfying RLL(d, k) should be equal to or greater ‘1’ and ‘1’ in a codeword, should be satisfied. If, with this (d, k) condition satisfied, the number of data bits is “m”, the number of codewords satisfying RLL(d, k) should be equal to or greater than 2m. Moreover, in order to actually use this code, run length constraints, that is, RLL(d, k) conditions, should be satisfied in a part where a codeword is linked to another codeword. In addition, when the DC component of a code affects the system performance, it is desirable to use a code which has a DC suppression capability.
The main reason for suppressing the DC component in the RLL modulated code stream is to minimize an effect of a reproducing signal on a servo band. Hereinafter, methods of suppressing the DC component will be referred to as Digital Sum Value (DSV) control methods.
The DSV control methods can be broadly classified into two types. One is a method having a DSV control code itself, where the DSV control code is capable of controlling a DSV. The other one is a method of inserting a merge bit at each DSV control time. An Eight to Fourteen Modulation plus (EFM+) code performs DSV control using a separate code table while the EFM code or a (1, 7) code performs the DSV control by inserting the merge bit.
Therefore, the shape of the prior art modulation code group having the DSV control code itself capable of controlling suppression of the DC component and satisfying the conditions described above is as shown in FIG. 1, in which each of a predetermined number of main conversion code groups has a corresponding code group for controlling suppression of the DC component. Each main conversion code group and the corresponding code group form a pair so that the DC component can be suppressed and controlled. In this case, there are some characteristics in the codewords of predetermined main conversion code groups. That is, there are no identical codewords between the main conversion code groups A and B. If duplicated codes are used, there might be the main conversion code groups C and D for demodulating the duplicated codes, where there are no identical codewords between the main conversion code groups C and D, but codewords in the main conversion code group A or B may be in the main conversion code group C or D for demodulating duplicated codes. The number of codewords in the main conversion code groups A and B and the main conversion code groups C and D for demodulating duplicated codes is 2m if the number of bits in the source word before conversion is “m”.
If corresponding code groups E through H are DC suppression control code groups used for suppressing the DC components together with the main conversion code groups A through D, respectively, the characteristics of codewords in each of the corresponding code groups E through H are the same as the characteristics of codewords in the main conversion code groups A through D, respectively. That is, the same conditions for generating duplicated codewords or the same conditions for determining the number of lead zeros in a codeword are applied to each of the DC suppression control code groups E through H for controlling suppression of DC components and the main conversion code groups A through D.
For example, the characteristics of the EFM+ code, which is used in current Digital Versatile Discs (DVD), has a run length condition of RLL(2, 10) and a codeword length (n) of 16 bits, is as shown in FIG. 2. The main conversion code groups are MCG1 (“A” in FIG. 1) and MCG2 (“B” in FIG. 1) and the conversion code groups for demodulating duplicated codes are DCG1 (“C” in FIG. 1) and DCG2 (“D” in FIG. 1). There are four DSV code groups (“E˜H” in FIG. 1) which make pairs with respective conversion code groups to control suppression of DC components. There are no identical codewords between the four conversion code groups and the four DSV code groups which are code groups for controlling DC components.
Also, the conditions for generating duplicated codewords in the entire code groups are the same, and the characteristics of codewords in each code group pair that can control DC components (MCG1 and the first DSV code group, MCG2 and the second DSV code group, DCG1 and the third DSV code group, or DCG2 and the fourth DSV code group) are the same.
That is, a codeword having a continuous sequence of from 2 to 5 zeros from the Least Significant Bit (LSB) of the codeword is generated using duplicated codewords. This rule is applied to each code group in the same manner. In each of the codewords of the first DSV code group for controlling suppression of DC components, which controls suppression of DC components together with the main conversion code group MCG1, there is a continuous sequence of between 2 and 9 ‘0s’ from the Most Significant Bit (MSB). In each of the codewords of the second DSV code group for controlling suppression of DC components, which controls suppression of DC components together with the main conversion code group MCG2, there is either 0 or 1 ‘0’ continuing from the MSB.
Some bits (here, b15(MSB) or b3) in the codewords of the third DSV code group control the suppression of the DC components together with the corresponding conversion code group DCG1 for demodulating duplicated codes are ‘0b’, while some bits (here, b15(MSB) or b3) in the codewords of the fourth DSV code group for controlling suppression of DC components control the suppression of the DC components together with the corresponding code group DCG2 for demodulating duplicated codes, and some bits (here, b15(MSB) and b3) are ‘1b’. In developing 8 to 15 modulation code which has an advantage in the recording density aspect compared to the prior art modulation method EFM+ which uses the modulation code group shown in FIG. 1 or 2, the original characteristics of a code stream change when a change occurs in a codeword because of a boundary rule applied to the locations adjacent to a boundary which connects a codeword to another codeword.